! function(e) {
	Array.prototype.forEach || (Array.prototype.forEach = function(e, t) {
			var r, n;
			if(null == this) throw new TypeError(" this is null or not defined");
			var i = Object(this),
				a = i.length >>> 0;
			if("function" != typeof e) throw new TypeError(e + " is not a function");
			for(arguments.length > 1 && (r = t), n = 0; n < a;) {
				var o;
				n in i && (o = i[n], e.call(r, o, n, i)), n++
			}
		}),
		Array.prototype.map || (Array.prototype.map = function(e, t) {
			var r, n, i;
			if(null == this) throw new TypeError(" this is null or not defined");
			var a = Object(this),
				o = a.length >>> 0;
			if("[object Function]" != Object.prototype.toString.call(e)) throw new TypeError(e + " is not a function");
			for(t && (r = t), n = new Array(o), i = 0; i < o;) {
				var s, c;
				i in a && (s = a[i], c = e.call(r, s, i, a), n[i] = c), i++
			}
			return n
		});
}(window, void 0);